Kourier Integrator Online Help

Using UniVerse Triggers with Kourier Net Change

Overview

In rare circumstances you may encounter Kourier Error KMK-549,  which will indicate that Net Change can not be enabled on file because the file has an RDBMS trigger. Due to an issue in the UniVerse RDBMS, the Kourier GUI will not allow Net Change to be enabled on an application file which also has a RDBMS trigger.

This work-around only applies to the UniVerse RDBMS.

Rocket software is working on a fix for this problem and as of Version 11.1.12 it does work for some applications. However, until a fix has been released and verified by Kore for all applications the following procedure may be used to enable Net Change on a file with an RDBMS trigger.

This work-around assumes that:

To enable net change on an application file which has an RDBMS trigger:

  1. Working from each account where the Kourier software has been shared, edit the file KT_CONTROL and add an item named BYPASS.TRIGGER.ERROR.  This record does not have any attributes. The existence of this item indicates to the Kourier GUI that it should by-pass the logic that prohibits net change from being setup on an application file that has an RDBMS trigger.
  2. In your trigger program, add a call to the program KCL.UPDATELOGT.

How It Works

Normally when an application file is enabled for Net Change from the Kourier GUI, a "virtual" index is created in the application file's dictionary named KCL_INDEX. This dictionary calls a subroutine named KCL.UPDATELOG from the formula field (attribute 2) of the dictionary. This subroutine is responsible for maintaining the net change file associated with the application file.

With this work-around in place, if an application file has a trigger and the control item BYPASS.TRIGGER.ERROR is found in the KT_CONTROL file, Kourier creates an index named KCL_INDEX but it does not call the KCL.UPDATELOG subroutine (e.g., the formula field is set to ""). This effectively by-passes the UniVerse "bug" and indicates to the Kourier's run-time environment (e.g., services) that Net Change has been setup on the application file and that this file will be maintained thru the code you added to your trigger subroutine.

Related Topics: 

KCL.RESIZELOG

KT.SETUPNETCHG

KCL.UPDATELOGT

Kourier Integrator Setup and Administration